
/**********************************************************************************\
** 文件名称: cache.h
** 创建人员: YCG
** 创建日期: 2019-01-15
** 文档描述: 
** 版本代号: V0.1
** 版本说明: 初始版本
\********************************************************************************/
#ifndef __CACHE_H_
#define __CACHE_H_

#include "main.h"
#include "heap.h"

#define CacheGetAdd(yCache) ((uint8_t*)yCache + sizeof(CacheItem_t))

typedef struct CacheItem_t
{
    struct CacheItem_t *Next;	    //列表中的下一个数据块。
    uint32_t Size;						    //数据的大小
} CacheItem_t;

typedef struct CACHE_POS_T
{
    CacheItem_t *Start;	       //列表中的第一个数据块。
    CacheItem_t *Last;	       //列表中的需要删除的数据块。
    CacheItem_t *End;	         //列表中的最后一个数据块。
} CacheHead_t;

CacheItem_t* CacheGet(CacheHead_t* yCacheHead, uint32_t ySize) ;
void CacheUse(CacheItem_t* yCache,uint32_t ySize);
CacheItem_t* CacheRead(CacheHead_t* yCacheHead);
#endif

/********************************End of File************************************/

